@echo off
chcp 65001 > nul
setlocal enabledelayedexpansion

rem 定义 lv_conf.h 源文件路径
set "SOURCE=%~dp0..\assets\lv_conf.h"
rem 定义 lv_conf.h 目标文件夹路径
set "DESTINATION=%~dp0..\.pio\libdeps\esp32dev"

rem 检查 lv_conf.h 源文件是否存在
if exist "%SOURCE%" (
    rem 检查 lv_conf.h 目标文件夹是否存在，如果不存在则创建
    if not exist "%DESTINATION%" (
        mkdir "%DESTINATION%"
    )
    rem 复制 lv_conf.h 文件
    copy "%SOURCE%" "%DESTINATION%"
    echo lv_conf.h 文件复制成功。
) else (
    echo lv_conf.h 源文件 %SOURCE% 不存在。
)

rem 定义 User_Setup.h 源文件路径
set "USER_SETUP_SOURCE=%~dp0..\assets\User_Setup.h"
rem 定义 User_Setup.h 目标文件夹路径
set "USER_SETUP_DESTINATION=%~dp0..\.pio\libdeps\esp32dev\TFT_eSPI"

rem 检查 User_Setup.h 源文件是否存在
if exist "%USER_SETUP_SOURCE%" (
    rem 检查 User_Setup.h 目标文件夹是否存在，如果不存在则创建
    if not exist "%USER_SETUP_DESTINATION%" (
        mkdir "%USER_SETUP_DESTINATION%"
    )
    rem 复制 User_Setup.h 文件
    copy "%USER_SETUP_SOURCE%" "%USER_SETUP_DESTINATION%"
    echo User_Setup.h 文件复制成功。
) else (
    echo User_Setup.h 源文件 %USER_SETUP_SOURCE% 不存在。
)

:: 修复 demos 文件夹复制逻辑，增加错误检测和提示
set "demos_src=..\.pio\libdeps\esp32dev\lvgl\demos"
set "demos_dest=..\.pio\libdeps\esp32dev\lvgl\src\demos"
if exist "%demos_src%" (
    if not exist "%demos_dest%" (
        mkdir "%demos_dest%"
    )
    xcopy /E /I /Y "%demos_src%\*" "%demos_dest%\" >nul
    if errorlevel 1 (
        echo demos 文件夹复制失败，请检查路径和权限。
    ) else (
        echo demos 文件夹复制成功：%demos_src% 到 %demos_dest%
    )
) else (
    echo 源文件夹 %demos_src% 不存在。
)

:: 修复 examples 文件夹复制逻辑，增加错误检测和提示
set "examples_src=..\.pio\libdeps\esp32dev\lvgl\examples"
set "examples_dest=..\.pio\libdeps\esp32dev\lvgl\src\examples"
if exist "%examples_src%" (
    if not exist "%examples_dest%" (
        mkdir "%examples_dest%"
    )
    xcopy /E /I /Y "%examples_src%\*" "%examples_dest%\" >nul
    if errorlevel 1 (
        echo examples 文件夹复制失败，请检查路径和权限。
    ) else (
        echo examples 文件夹复制成功：%examples_src% 到 %examples_dest%
    )
) else (
    echo 源文件夹 %examples_src% 不存在。
)
